package JavaToC;

import com.sun.jna.Library;

/** 
 * @author Ravi
 * 
 *
 */

public interface ISecrecySystem extends ISecrecyAES {

	enum SecrecyLevel { Strong_Secrecy, Very_Strong_Secrecy, Maximum_Secrecy };
	

	/**
	 *	initialize the secrecy system
	 *
	 * 
	 */

	public int Init();


	/**
	 *	shutdown the secrecy system
	 *
	 * 
	 */

	public int Close();

	/**
	 * Configure the strength of the secrecy operations performed on a message. 
	 * 
	 */
	public int Configure_SecrecyLevel (SecrecyLevel level);

	/**
	 * Configure the Key Stream to perform the secrecy operations. 
	 * 
	 */

	public int Configure_KeyStream (byte keyBytes [], int length);


	/**
	 * Protect user data
	 * 
	 */

	public int  Protect (byte in[], byte out[], int length);


	/**
	 * UnProtect user data
	 * 
	 */

	public int  UnProtect (byte in[], byte out[], int length);

}
